From cfad2bcae8f572a9422ce5a6adb4caa7c0e521ad Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Tue, 7 Mar 2017 22:30:06 +0100
Subject: [PATCH] Add an option to disable bsddb

bsddb has an external dependency on Berkeley DB. Since we want to be
able to build Python without it, this patch adds an option to disable
the build/installation of this Python module.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
 Makefile.pre.in |  8 ++++++--
 configure.ac    | 22 ++++++++++++++++++++++
 2 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/Makefile.pre.in b/Makefile.pre.in
index e5d0dd7..2582574 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1043,7 +1043,7 @@ LIBSUBDIRS=	site-packages \
 		email email/mime \
 		ensurepip ensurepip/_bundled \
 		json \
-		logging bsddb csv importlib wsgiref \
+		logging csv importlib wsgiref \
 		ctypes ctypes/macholib \
 		idlelib idlelib/Icons \
 		distutils distutils/command \
@@ -1059,7 +1059,6 @@ TESTSUBDIRS = test test/audiodata test/capath test/data \
 	test/tracedmodules \
 	email/test email/test/data \
 	json/tests \
-	bsddb/test \
 	ctypes/test \
 	idlelib/idle_test \
 	distutils/tests \
@@ -1100,6 +1099,11 @@ ifeq (@EXPAT@,yes)
 LIBSUBDIRS += $(XMLLIBSUBDIRS)
 endif
 
+ifeq (@BSDDB@,yes)
+LIBSUBDIRS += bsddb
+TESTSUBDIRS += bsddb/test
+endif
+
 libinstall:	build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
 	@for i in $(SCRIPTDIR) $(LIBDEST); \
 	do \
diff --git a/configure.ac b/configure.ac
index 09cb3de..524614c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2834,6 +2834,28 @@ AC_ARG_ENABLE(nis,
     	     DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
   	  fi])
 
+AC_ARG_ENABLE(dbm,
+	AS_HELP_STRING([--disable-dbm], [disable DBM]),
+	[ if test "$enableval" = "no"; then
+    	     DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} dbm"
+  	  fi])
+
+AC_ARG_ENABLE(gdbm,
+	AS_HELP_STRING([--disable-gdbm], [disable GDBM]),
+	[ if test "$enableval" = "no"; then
+    	     DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} gdbm"
+  	  fi])
+
+AC_SUBST(BSDDB)
+AC_ARG_ENABLE(bsddb,
+	AS_HELP_STRING([--disable-bsddb], [disable BerkeyleyDB]),
+	[ if test "$enableval" = "no"; then
+    	     BSDDB=no
+    	     DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _bsddb"
+  	  else
+	     BSDDB=yes
+  	  fi], [ BSDDB=yes ])
+
 AC_ARG_ENABLE(unicodedata,
 	AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]),
 	[ if test "$enableval" = "no"; then
-- 
2.7.4

